// pages/member/member.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    showPay: false,
    payActions: [
      {
        name: '微信支付',
      },
      {
        name: '选项',
      },
      {
        name: '选项',
        subname: '描述信息',
        openType: 'share',
      },
    ]
  },

  onPay(e) {
    const type = e.currentTarget.dataset.type
    console.log(type)
    this.setData({
      type,
      showPay: true
    })
  },
  onClose() {
    this.setData({ showPay: false });
  },

  //随机生成32位字符串
  randomString() {
    //默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1
    let chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'
    let maxPos = chars.length
    let character = ''
    for (let i = 0; i < 32; i++) {
      character += chars.charAt(Math.floor(Math.random() * maxPos))
    }
    return character
  },

  //时间戳随机生成32位字符串 唯一 订单号 最好由数字组成
  randomTradeNo(){
    const timestamp = new Date().getTime()
    const timeLen = timestamp.toString().length
    const len = 32 - timeLen
 　　let chars = '0123456789'  
 　　let maxPos = chars.length
 　　let randomStr = ''
 　　for (let i = 0; i < len; i++) {
       randomStr += chars.charAt(Math.floor(Math.random() * maxPos))
 　　}
 　　return randomStr + timestamp
  },


  onSelect(event) {
    console.log(event.detail)
    const nonceStr = this.randomString()
    const outTradeNo = this.randomTradeNo()
    wx.cloud.callFunction({
      name: 'wxMakeOrder',
      data: {
        money: 1,
        nonceStr,
        outTradeNo
      },
      success: (res) => {
        console.log(res)
        // 取得云函数返回的订单信息
        const payment = res.result.payment;
        // 调起微信客户端支付
        wx.requestPayment({
          ...payment,
          success(res) {
            console.log(res)
            /* 成功回调 */
          },
          fail(res) {
            console.log(res)
            /* 失败回调 */
          }
        })
      }

    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
   const str =   this.randomTradeNo()
   console.log(str)
   const nonceStr = this.randomString()
   console.log(nonceStr)
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})